Search Results for

    Show / Hide Table of Contents

    Axis Alignment - Create a Vertical Chart

    It is possible to create Vertical (Rotated) Charts with SciChart. To achieve this, simply set axisAlignment to Left or Right for X Axis and Top or Bottom for Y Axis using the AxisAlignment enum. And that's it - SciChart will do everything else for you.

    • Java
    • Java with Builders API
    • Kotlin
    // Create X axis and position it to the left
    final NumericAxis xAxis = new NumericAxis(getContext());
    xAxis.setAxisAlignment(AxisAlignment.Left);
    
    // Create Y axis and position it to the top
    final NumericAxis yAxis = new NumericAxis(getContext());
    yAxis.setAxisAlignment(AxisAlignment.Top);
    
    // Create X axis and position it to the left
    final NumericAxis xAxis = sciChartBuilder.newNumericAxis()
            .withAxisAlignment(AxisAlignment.Left)
            .build();
    
    // Create Y axis and position it to the top
    final NumericAxis yAxis = sciChartBuilder.newNumericAxis()
            .withAxisAlignment(AxisAlignment.Top)
            .build();
    
    // Create X axis and position it to the left
    val xAxis = NumericAxis(context)
    xAxis.axisAlignment = AxisAlignment.Left
    
    // Create Y axis and position it to the top
    val yAxis = NumericAxis(context)
    yAxis.axisAlignment = AxisAlignment.Top
    

    ​

    Multiple axes support

    Also, SciChart supports unlimited, multiple X or Y axes which can be aligned to the Right, Left, Top, Bottom sides of a chart. For more information - read Adding an Axis article. All that applies to Vertical(Rotated) Charts as well, so any reasonable combination of differently aligned axes is allowed. This allows to create mixed horizontal and vertical charts:

    • Java
    • Java with Builders API
    • Kotlin
    final NumericAxis xAxis = new NumericAxis(getContext());
    xAxis.setAxisId("xAxis");
    xAxis.setAxisTitle("Horizontal-X");
    
    final NumericAxis xLeftAxis = new NumericAxis(getContext());
    xLeftAxis.setAxisId("xLeftAxis");
    xLeftAxis.setAxisAlignment(AxisAlignment.Left);
    xLeftAxis.setAxisTitle("Vertical-X");
    
    final NumericAxis yAxis = new NumericAxis(getContext());
    yAxis.setAxisId("yAxis");
    yAxis.setAxisTitle("Vertical-Y");
    
    final NumericAxis yTopAxis = new NumericAxis(getContext());
    yTopAxis.setAxisId("yTopAxis");
    yTopAxis.setAxisAlignment(AxisAlignment.Top);
    yTopAxis.setAxisTitle("Horizontal-Y");
    
    final NumericAxis xAxis = sciChartBuilder.newNumericAxis()
            .withAxisId("xAxis")
            .withAxisTitle("Horizontal-X")
            .build();
    
    final NumericAxis xLeftAxis = sciChartBuilder.newNumericAxis()
            .withAxisId("xLeftAxis")
            .withAxisAlignment(AxisAlignment.Left)
            .withAxisTitle("Vertical-X")
            .build();
    
    final NumericAxis yAxis = sciChartBuilder.newNumericAxis()
            .withAxisId("yAxis")
            .withAxisTitle("Vertical-Y")
            .build();
    
    final NumericAxis yTopAxis = sciChartBuilder.newNumericAxis()
            .withAxisId("yTopAxis")
            .withAxisAlignment(AxisAlignment.Top)
            .withAxisTitle("Horizontal-Y")
            .build();
    
    val xAxis = NumericAxis(context)
    xAxis.axisId = "xAxis"
    xAxis.axisTitle = "Horizontal-X"
    
    val xLeftAxis = NumericAxis(context)
    xLeftAxis.axisId = "xLeftAxis"
    xLeftAxis.axisAlignment = AxisAlignment.Left
    xLeftAxis.axisTitle = "Vertical-X"
    
    val yAxis = NumericAxis(context)
    yAxis.axisId = "yAxis"
    yAxis.axisTitle = "Vertical-Y"
    
    val yTopAxis = NumericAxis(context)
    yTopAxis.axisId = "yTopAxis"
    yTopAxis.axisAlignment = AxisAlignment.Top
    yTopAxis.axisTitle = "Horizontal-Y"
    

    Horizontal and Vertical Chart

    Note

    Every RenderableSeries (chart types e.g. FastLineRenderableSeries, FastCandlestickRenderableSeries etc.), every Annotation and some Chart Modifiers (e.g. PinchZoomModifier, ZoomPanModifier) requires to be measured against particular axis (in other words - attached to it). You must specify the Axis ID for them via the xAxisId and yAxisId properties.

    However, If you have only a single X and Y Axis, setting these ID properties isn't required. This is required only for the multiple axis cases.

    Back to top © 2011-2025 SciChart. All rights reserved. | sitemap.xml